// 如果希望组件间互不影响，那可以考虑函数作用域
const cookie = {
    
    allCookies:{},


    getAllCookies () {
        // 不用forEach是因为没有下标不好操作
        // 注意这里split了两次是二维数组
        let tempArr = document.cookie.split(';').map( oneCookie => oneCookie.split('=') )
        for (let i = 0; i < tempArr.length; i ++) {
            let key = tempArr[i][0].trim(''),
                value = tempArr[i][1].trim('')
            // 记得解码，防止中文等乱码
            this.allCookies[key] = decodeURIComponent(value)
        }
        // console.log(this.allCookies)
        return this.allCookies
    },

    addCookie (key, value) {
        // 处理末尾的分号问题
        
        // if (!document.cookie) {
        document.cookie = `${key}=${value}`.trim('')
        // } else {
        //     document.cookie += `;${key}=${value}`.trim('')
        // }
        
    },

    deleteCookie (key) {
        //  不必指定值, path是只删除当前页面下的cookie
        document.cookie = `${key}=; +expires=Mon, 26 Aug 2019 12:00:00 UTC; path=/;`
        this.allCookies[key] = ''
    }

}

export default cookie